From: Federico Mena Quintero Date: Fri, 22 Nov 2019 00:30:03 +0000 (-0600) Subject: Handle "color: inherit" directly in get_color_from_term(), not in libcroco X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~781^2^2~348 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=236bdaa53cb157d7029b01d5ba56320617f5d2c8;p=gnome-shell.git Handle "color: inherit" directly in get_color_from_term(), not in libcroco The idea is to move handling of "inherit" as early in the parsing as possible. Part of https://gitlab.gnome.org/GNOME/gnome-shell/issues/1934 --- diff --git a/src/st/st-theme-node.c b/src/st/st-theme-node.c index bd2f21f83..bb630d9d3 100644 --- a/src/st/st-theme-node.c +++ b/src/st/st-theme-node.c @@ -581,10 +581,14 @@ get_color_from_term (StThemeNode *node, CRRgb rgb; enum CRStatus status; + if (term_is_inherit (term)) + { + return VALUE_INHERIT; + } /* Since libcroco doesn't know about rgba colors, it can't handle * the transparent keyword */ - if (term_is_transparent (term)) + else if (term_is_transparent (term)) { *color = TRANSPARENT_COLOR; return VALUE_FOUND; @@ -606,9 +610,6 @@ get_color_from_term (StThemeNode *node, if (status != CR_OK) return VALUE_NOT_FOUND; - if (rgb.inherit) - return VALUE_INHERIT; - if (rgb.is_percentage) cr_rgb_compute_from_percentage (&rgb);